home *** CD-ROM | disk | FTP | other *** search
- /*
- * ray.h
- *
- * Copyright (C) 1989, 1991, Craig E. Kolb
- * All rights reserved.
- *
- * This software may be freely copied, modified, and redistributed
- * provided that this copyright notice is preserved on all copies.
- *
- * You may not distribute this software, in whole or in part, as part of
- * any commercial product without the express consent of the authors.
- *
- * There is no warranty or other guarantee of fitness of this software
- * for any purpose. It is provided solely "as is".
- *
- * ray.h,v 4.1 1994/08/09 07:54:56 explorer Exp
- *
- * ray.h,v
- * Revision 4.1 1994/08/09 07:54:56 explorer
- * Bump version to 4.1
- *
- * Revision 1.1.1.1 1994/08/08 04:52:01 explorer
- * Initial import. This is a prerelease of 4.0.6enh3, or 4.1 possibly.
- *
- * Revision 4.0 91/07/17 14:31:08 kolb
- * Initial version.
- *
- */
- #ifndef RAY_H
- #define RAY_H
- /*
- * Ray types
- */
- #define EYE_RAY 1
- #define SHADOW_RAY 2
- #define REFLECT_RAY 3
- #define REFRACT_RAY 4
-
- /*
- * Ray
- */
- typedef struct Ray {
- Vector pos, /* Origin */
- dir; /* Direction */
- int depth, /* depth in ray tree */
- sample; /* current sample # */
- Float time;
- Vector viewpoint; /* ray viewpoint */
- int type; /* EYE_RAY, SHADOW_RAY, ... */
- Float viewdist, /* for pixelsize computation */
- width,
- stretch; /* amount the ray is stretched by transformations */
-
- struct Medium *media; /* Medium ray is passing through */
- } Ray;
- #endif
-